package hl.leco.colle.set;

import java.util.HashSet;
import java.util.Iterator;

/**
 * HashSet 的基本使用（使用 String 数据）
 * 存储结构：哈希表（数组 + 链表 + 红黑树jdk1.8后新加入的）
 * @author Liu Huan
 */

public class Demo2 {
	public static void main(String[] args) {
		//0、创建一个集合对象，使用 HashSet 实现类
		HashSet<String> hashSet = new HashSet<>();
		//1、添加元素
		hashSet.add("小米");
		hashSet.add("华为");
		hashSet.add("荣耀");
		hashSet.add("三星");
		System.out.println("元素个数：" + hashSet.size());
		System.out.println(hashSet);
		hashSet.add("小米");//重复数据不会被添加
		System.out.println(hashSet);
		//2、删除元素，只能通过元素名，不能通过下标
		hashSet.remove("小米");
		System.out.println(hashSet);
		//3、遍历（两种）
		System.out.println("-------使用 foreach 遍历--------");
		for (String se : hashSet) {
			System.out.println(se);
		}
		System.out.println("-------使用 Iterator 遍历--------");
		Iterator<String> iterator = hashSet.iterator();
		while (iterator.hasNext()){
			System.out.println(iterator.next());
		}
		//4、判断
		System.out.println("是否包含 华为：" + hashSet.contains("华为"));
		System.out.println("是否为空：" + hashSet.isEmpty());
	}
}
